﻿'use strict';
//此处代码都是由NODE执行
//载入gulp模块
const gulp=require('gulp');
const babel = require('gulp-babel');

const browserSync = require('browser-sync');
const less=require('gulp-less');  
const cssnano=require('gulp-cssnano');  //压缩css
const postcss=require('gulp-postcss');
const autoprefixer=require('autoprefixer'); //自动加前缀

//html文件更改刷新
//const htmlmin=require('gulp-htmlmin');
gulp.task('html',function(){
	gulp.src('./web/src/index.html')
    .pipe(gulp.dest('./web/dist/'))
    //改变后刷新
    .pipe(browserSync.reload({stream:true}));
    gulp.src('./web/src/nav.html')
    .pipe(gulp.dest('./web/dist/'))
    //改变后刷新
    .pipe(browserSync.reload({stream:true}));
});

gulp.task('cssfolder',function(){
    gulp.src('./web/src/css/*.css')
    .pipe(less())
    .pipe(gulp.dest('./web/dist/css'))
    //改变后刷新
    .pipe(browserSync.reload({stream:true}));
});
gulp.task('htmlfolder',function(){
    gulp.src('./web/src/html/*.html')
    .pipe(gulp.dest('./web/dist/html'))
    //改变后刷新
    .pipe(browserSync.reload({stream:true}));
});

gulp.task('imgsFont',function(){
    gulp.src('./web/src/images/**')
    .pipe(gulp.dest('./web/dist/images/'));
    gulp.src('./web/src/fonts/**')
    .pipe(gulp.dest('./web/dist/fonts/'));
});

gulp.task('copyJS',function(){
    gulp.src('./web/src/lib/js/**')
    .pipe(gulp.dest('./web/dist/lib/js/'))
});

gulp.task('JS',function(){
    gulp.src('./web/dist/js/**')
    /**  这里babel无法使用import语法，改用webpack
    .pipe(babel({
    	presets:['es2015']
    }))
    ***/
    //.pipe(gulp.dest('./web/dist/js/'))
    .pipe(browserSync.reload({stream:true}));
});


// Static server
gulp.task('default',['imgsFont','copyJS','JS','html','htmlfolder','cssfolder'],function() {
    /***自动开启浏览器，多屏共享*****/
    browserSync.init({
        server: {
            baseDir: "./web/dist/"
        },
        open:false,    //关闭自动打开网址
    });
    

    /****编译不需要的监听，开发时候需要打开监听****/
    /**针对首页，有webpack不需要监听src**/
    gulp.watch('./web/src/index.html',['html']);
     
    gulp.watch('./web/src/html/*.html',['htmlfolder']);
    gulp.watch('./web/src/css/*.css',['cssfolder']);
    gulp.watch('./web/dist/js/**',['JS']);
    
    
});

/**
 * 系统有一个默认的default任务
 * 在命令行中的项目根目录里执行gulp指令，便会看到default任务被执行
 * **/